1. Field of the Invention
The present invention is related to systems having a public key infrastructure (PKI) and particularly to a public key authentication process and means to support same.
2. Description of the Related Art
In modern Internet communication security is often based on public keys. These public keys are part of a public/private key pair of some user or entity. The public part is public available but the private part is only known by the given user or entity. Anybody can send data to this user or entity using encryption with that public key, but only the user or entity itself can decipher the data using its private key.
A given sender of such data has to make sure that the public key really belongs to the user or entity he wants to send the data to. To ensure this, there are various sorts of certification authorities that sign public keys with their private key. With that signature they proclaim authenticity of some information in the key, like the name and address. As the public key of this certification authority might be well known, any sender can verify the signature on the public key and by that make sure the public key really belongs to the user or entity he wants to send data to.
For signing data a hash value of the data is calculated in order to subsequently sign only the hash value of the data. By applying a hash algorithm to any given data a single unique hash value is achieved, which is much shorter than the data itself. However, it is nearly impossible to create data matching a given hash value.
The security of this system is based on 4 factors: the privacy of the certification authorities private key, the authenticity of the certification authorities public key that is available to the sender, the verification process the certification authorities use to ensure authenticity of the information they sign in public keys and the unique identification value of the signed information.
If a private key of such an certification authority is known to some potential attacker he can sign faked public keys he generated and by that draw senders to use this certificate when sending data. He can then decipher the sent data with the private part of the faked key. This is as well true for a potential attacker that is a part of the certification authority itself or that can apply force to the certification authority to sign such a key.
If a potential attacker can fake the public key of the certification authority to some sender, with its own faked public key, he can once again issue faked public keys by signing them with the private part of the faked certification authority key.
If the certification authorities process of verifying the information signed has vulnerabilities, a potential attacker can use these vulnerabilities to get the certification authority to sign faked keys.
If the information signed by the certification authority does not provide a reliable level of unique information, like two persons called “Peter Miller” in the same building, anybody in the range covered by such ambiguous information can apply means to read data originally intended for somebody else.